define(["jquery","bbcare"],function($,$bb){
    var servers = {};
    var URL = $bb.baseUrl("blood");

	/**
     * 查询药品信息
     */
    servers.ajaxMedicineInfo = function(params,callback) {
        $bb.ajax({
            url: URL + "specialistBag/medicine/getMedicineInfo",
            data: JSON.stringify({
                data: {
                	"busiId":params.ptCourseId,
					"userId":params.info.userId,
                }
            }),
            success: function(data) {
                if (data.success) {
                    callback(data.data,params);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "查询药品信息出错！");
                }
            }
        });
    }

    /**
     * 药品剂量查询
     */
    servers.ajaxListPtCourseMedDose = function(params,callback,datas) {
        $bb.ajax({
            url: URL + "specialistBag/medicine/listPtCourseBagInfo",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    callback(data.data,datas);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "查询药品剂量出错！");
                }
            }
        });
    }

    /**
     * 处理days数据
     */
    servers.handleDays = function(list,medicines){
    	for (var i = 0; i < list.length; i++) {
    		list[i].medicines = [];
    		for (var p = 0; p < medicines.length; p++) {
    			for (var j = 0; j < list[i].columns.length; j++) {
    				if( medicines[p].medicineId == list[i].columns[j].medicineId ){
    					list[i].medicines.push(list[i].columns[j]);
    					break;
    				}
    			}
    		}
    	}
    	return list;
    }

    /**
     * 药品单位查询
     */
    servers.ajaxQueryUnit = function(callback,datas) {
        $bb.ajax({
            url: URL + "medUnitDict/queryAllMedUnitDict",
            success: function(data) {
                if (data.success) {
                    callback(data.data,datas);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "药品单位查询出错！");
                }
            }
        });
    }

    /**
     * 获取药品大类
     */
    servers.ajaxMedicineBigClass = function(callback,datas) {
        $bb.ajax({
            url: URL + "medicineClass/getAllMedicineClass",
            success: function(data) {
                if (data.success) {
                    callback(data.data,datas);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "获取药品大类出错！");
                }
            }
        });
    }

    /**
     * 获取药品小类
     */
    servers.ajaxMedicineSmallClass = function(params,callback,datas) {
        $bb.ajax({
            url: URL + "medicineInfo/getMedCatalogInfos",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    callback(data.data,datas);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "获取药品小类出错！");
                }
            }
        });
    }

    /**
     * 根据药品名称查询
     */
    servers.ajaxSelect = function(params,callback,datas) {
        $bb.ajax({
            url: URL + "medicineInfo/queryMedSkuInfoByName",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    callback(data.data,datas);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "根据药品名称查询药品出错！");
                }
            }
        });
    }

    /**
     * 实例化后的疗程添加药物
     */
    servers.ajaxAdd = function(params,callback,datas) {
        $bb.ajax({
            url: URL + "ptCourseData/addMedicine",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    callback(data.data,datas);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "疗程添加药物出错！");
                }
            }
        });
    }

    /**
     * 删除药物
     */
    servers.ajaxRemoveCourseMedicine = function(params,callback) {
        $bb.ajax({
            url: URL + "ptCourseData/reduceMedicine",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    $bb.toastShow("删除成功！");
                    callback(data.data);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "删除药物出错！");
                }
            }
        });
    }

    /**
     * 给疗程添加天数
     */
    servers.ajaxIncreaseDay = function(params,callback) {
        $bb.ajax({
            url: URL + "ptCourseData/addDay",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    $bb.toastShow('给该疗程添加天数成功！');
                    callback(data.data);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "给疗程添加天数出错！");
                }
            }
        });
    }

    /**
     * 删除疗程中的某一天
     */
    servers.ajaxReduceDay = function(params,callback) {
        $bb.ajax({
            url: URL + "ptCourseData/reduceDay",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    $bb.toastShow("删除成功！");
                    callback(data.data);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "删除疗程中的某一天出错！");
                }
            }
        });
    }

    /**
     * 给疗程库中的疗程调整剂量
     */
    servers.ajaxChangeMedicineDose = function(params,callback) {
        $bb.ajax({
            url: URL + "ptCourseData/changeMedicineDose",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    $bb.toastShow("保存成功！");
                    callback(data.data);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "调整剂量出错！");
                }
            }
        });
    }

    /**
     * 根据medicineId获取药品信息
     */
    servers.getCurrMedicine = function(medicines,medicineId){
        for (var i = 0; i < medicines.length; i++) {
            if( medicines[i].medicineId == medicineId ){
                return medicines[i];
            }
        }
    }

    /**
     * 移动药物
     */
    servers.ajaxMoveMedicine = function(params,callback) {
        $bb.ajax({
            url: URL + "ptCourseData/moveMedicine",
            data: JSON.stringify({
                data: params
            }),
            success: function(data) {
                if (data.success) {
                    $bb.toastShow("移动药物成功！");
                    callback(data.data);
                } else {
                    $bb.toastShow(data.msg ? data.msg : "移动药物出错！");
                }
            }
        });
    }

    return servers;
});